package mrdemo008;

import org.apache.hadoop.conf.Configuration;
import org.apache.hadoop.fs.Path;
import org.apache.hadoop.io.IntWritable;
import org.apache.hadoop.io.LongWritable;
import org.apache.hadoop.io.Text;
import org.apache.hadoop.mapreduce.Job;
import org.apache.hadoop.mapreduce.lib.input.FileInputFormat;
import org.apache.hadoop.mapreduce.lib.output.FileOutputFormat;
 
public class Test1 {
	/**
	 *    非结构化数据
	 *    用户行为分析
	 *    
	 *  区分统计GET和POST的URL的访问量
	 *  结果为：
	 *  访问方式、URL、访问量
	 *  
	 * 分析：
	 * 访问方式和URL是作为key来处理的，来对访问量进行加和操作
	 */

	public static void main(String[] args) throws Exception {

		Configuration conf = new Configuration(); // 加载配置文件
		 
		Job job = new Job(conf); // 创建一个job，供JobTracker使用
//		job.setJarByClass(Test1.class);

		job.setMapperClass(TomcatLogMap.class);
		job.setReducerClass(TomcatLogReduce.class);

//		FileInputFormat.setInputPaths(job, new Path("hdfs://192.168.52.100:8020/TomcatLogInput"));
//		FileOutputFormat.setOutputPath(job, new Path("hdfs://192.168.52.100:8020/TomcatLogOutput"));
		
		FileInputFormat.setInputPaths(job, new Path("c:/data/TomcatLogInput"));
		FileOutputFormat.setOutputPath(job, new Path("c:/data/TomcatLogOutput"));
		
		
		//map的输出数据的类型
		job.setOutputKeyClass(Text.class);
		job.setOutputValueClass(IntWritable.class);

		job.waitForCompletion(true);

	}

}
